ASP 3 층 구조  오류 처리 클래스

이 절 에서 부터 몇 개의 ASP 중의 3 대 통용 류 를 소개 할 것 입 니 다.이것 은 제 가 디자인 한 3 층 구조 에 관통 되 고 ASP 문법 에 대한 확장 이 며 디 테 일 한 처리 의 효율 을 향상 시 킬 수 있 으 며 약간의 프레임 워 크 의 맛 이 라 고 할 수 있 습 니 다.이 절 은 오류 처리 류,유형 명 Con 을 소개 합 니 다.Error 는 코드 페이지 초기 에 초기 화 되 었 습 니 다.인 스 턴 스 이름 은 e 입 니 다.아래 의 e.add 는 이 오류 류 의 실례 화 대상 을 사용 하여 작업 합 니 다.방법 소개:e.add(ByVal vErrorMessage)는 오 류 를 기록 하고 e.Error=true 를 설정 합 니 다.프로그램 에서 사용자 이름 합 법성 등 을 검사 할 때 이 방법 을 사용 하여 오류 정 보 를 기록 합 니 다.예 를 들 어,사용자 가 로그 인 할 때 암호 오류 가 발생 하면 e.add("계 정 이나 비밀번호 오류")를 호출 합 니 다.이 때 오류 대상 e 에 오류 가 기록 되 어 있 습 니 다.오류 대상 의 속성 e.Error=true.후속 작업 에서 오류 대상 의 이 속성 을 사용 하여 판단 할 수 있 습 니 다.예 를 들 어 오류 가 발생 하면 작은 창 알림 오류 가 발생 하고 이전 페이지 로 돌아 갑 니 다.if e.Error then e.Alert뒤로"다시 로그 인하 세 요!"Alert_Back 의 역할 은 뒤에서 소개 합 니 다.end if e.AlertBack(ByVal vMessage)에서 자 바스 크 립 트 를 사용 하여 현재 모든 오류 목록 을 표시 하 는 오류 알림 상 자 를 팝 업 합 니 다.AlertBack(vMessage)의 vMessage 는 마지막 줄 에 표 시 됩 니 다.사용자 가 이 오류 정 보 를 본 후에 취해 야 할 절 차 를 알려 주 고 이전 페이지 로 돌아 갑 니 다.이 방법의 코드 를 붙 이면 Public Sub Alert 를 더 잘 이해 할 수 있 습 니 다.Back(ByVal vMessage)strJSmessage=JSmessage&vMessage'JSmessage'는 e 대상 의 오류 목록 을 저장 하 는 데 사 용 됩 니 다.각각 오류 사 이 를 분리 합 니 다.%>"); '팝 업 알림 오류 상자 입 니 다.history.back();이전 페이지 로 돌아 가기//--><%response.end'오류 가 발생 하지 않도록 출력 을 중단 하고 프로그램 이 계속 실 행 됩 니 다.End Sub e.AlertBack 방법 은 몇 가지 유사 한 효 과 를 연장 하 였 습 니 다.다음 과 같이 소개 합 니 다.실현 과정 은 추가 소스 코드 를 보십시오.e.Alert(ByVal vMessage)는 오류 알림 상자 만 팝 업 하고 이전 페이지 로 돌아 가지 않 으 며 프로그램의 실행 을 멈 추 지 않 습 니 다.e.Alert닫 기(ByVal vMessage)에서 오류 알림 상 자 를 팝 업 합 니 다.사용자 가 확인 을 클릭 하면 현재 창 e.OK 을 닫 습 니 다.Go(ByVal vMessage,ByVal vURL)는 정보 알림 상 자 를 팝 업 합 니 다.사용자 가 확인 을 클릭 한 후에 vURL 페이지 e.Go(ByVal vURL)로 이동 하여 vURL 페이지 이상 의 몇 가지 방법 으로 직접 이동 하 는 역할 을 잘 알 고 있 을 것 입 니 다.사실은 오류 처리 에 만 국한 되 지 않 습 니 다.e.Clear 는 오류 대상 에 기 록 된 오류 정 보 를 비 웁 니 다.e.Error=false 는 e 대상 이 전체 대상 이기 때 문 입 니 다.여러 과정 에서 호출 되 었 을 수도 있 습 니 다.한 모듈 의 오 류 를 통계 하기 만 하면 이 방법 을 사용 할 수 있 습 니 다.e.Debug(ByVal vMessage)에서 디 버 깅 정 보 를 출력 할 수 있 습 니 다.프로그램 이 완 공 될 때,Response.write 로 출력 하 는 오류 디 버 깅 정보 가 적지 않 을 것 입 니 다.모두 삭제 하고 자세히 찾 아야 합 니 다.e.Debug 를 사용 하여 디 버 깅 정 보 를 전문 적 으로 출력 합 니 다.프로그램 이 끝 났 을 때 e.Debug 만 검색 하면 모든 디 버 깅 오류 정보의 위 치 를 찾 을 수 있 습 니 다.e.w(ByVal vMessage)출력 정 보 는 Response.write 의 간단 한 포장 일 뿐 입 니 다.프로그램 에 e.w 를 입력 하 는 것 이 Response.write 를 입력 하 는 것 보다 얼마나 편리 한 지 모 르 고 항상 잘못 쓰기 쉽다.e.BR 은 줄 바 꿈 자 를 출력 하 는데 response.Write"
"이하 4 개 는 Response.End 에 대한 포장 이다.다만 조작 습관 에 따라같은 기능 을 정의 하 는 몇 가지 방법:e.Pause==Response.End e.P==Response.End e.Stop==Response.End e.End===Response.End 에 속성 e.Message 가 있 습 니 다.출력 e 대상 의 모든 오류 목록 의 구체 적 인 구현 디 테 일 은 코드 를 보십시오
 
Class Con_Error
Private blnError
private strMessage
private strJSMessage
Private Sub Class_initialize()
blnError = false
strMessage = ""
End Sub
Private Sub Class_Terminate()
End Sub
' ==================================================================================
' Property
' ==================================================================================
' Message :
Public Property Let Message(ByVal value)
strMessage = value
End Property
Public Property Get Message()
Message = strMessage
End Property
' Error number
Public Property Get Error()
Error = blnError
End Property
' JSMessage : show in messagebox
Private Property Get JSMessage()
strJSMessage = Replace(strMessage , "<br>" , "
")
strJSMessage = Replace(strJSMessage , vbCrLf , "")
JSMessage = strJSMessage
End Property
' ==================================================================================
' Method
' ==================================================================================
' Add : add an Error message
Public Sub Add(ByVal vMessage)
blnError = true
strMessage = strMessage & vMessage & "<br>"
End Sub
Public Sub Clear
blnError = false
strMessage = ""
End Sub
' Alert
Public Sub Alert(ByVal vMessage)
strJSMessage = JSMessage & vMessage
%>
<script language="javascript" >
<!--//
alert("<%=strJSMessage %>");
//-->
</script>
<%
End Sub
' Alert_Back : alert and back
Public Sub Alert_Back(ByVal vMessage)
strJSMessage = JSMessage & vMessage
%>
<script language="javascript" >
<!--//
alert("<%=strJSMessage %>");
history.back();
//-->
</script>
<%
response.end
End Sub
' Alert_Close : alert and close
Public Sub Alert_Close(ByVal vMessage)
strJSMessage = JSMessage & vMessage
%>
<script language="javascript" >
<!--//
alert("<%=strJSMessage %>");
window.opener = null;
window.close();
//-->
</script>
<%
response.end
End Sub
'*********************************************
'Debug : response.write ,use it to delete debug message easily,just seach "e.Debug" from files
'*********************************************
Public Sub OK_Go(ByVal vMessage,ByVal vURL)
strJSMessage = JSMessage & vMessage
%>
<script language="javascript" >
<!--//
alert("<%=strJSMessage %>");
location.href = '<%=vURL %>';
//-->
</script>
<%
response.end
End Sub
Public Sub Go(ByVal vURL)
response.Redirect vURL
response.end
End Sub
'*********************************************
'Debug : response.write ,use it to delete debug message easily,just seach "e.Debug" from files
'*********************************************
Public Sub Debug (ByVal vMessage)
response.Write vMessage
response.flush
End Sub
' ****** W : write
Public Sub W(ByVal vMessage)
response.Write vMessage
End Sub
' ****** BR : write <br>
Public Sub Br
response.Write "<BR />"
End Sub
'*********************************************
'Pause : response.end , mark debug info clearly
'*********************************************
Public Sub Pause
response.end
End Sub
Public Sub P
response.end
End Sub
Public Sub [Stop]
response.end
End Sub
Public Sub [end]
response.end
End Sub
End Class

좋은 웹페이지 즐겨찾기